/** 《寻找重复数字》
 * Question:
 * # 给出一个长度为 n+1 的数组 nums
 * # 数组成员为 1～n 的乱序数字
 * # 其中有且只有一个数重复出现两次
 * # 1.不使用辅助空间，找出这个数字
 * Case:
 * # input: nums = [1,3,2,7,4,5,6,9,8,7]
 * # output: 7
 * Tips:
 * 2 <= nums.length <= 1001
 * 1 <= nums[i] <= nums.length
 * @format */
// 不使用辅助空间：位异或
function findRepeated(nums) {
    return nums.reduce((a, b, i) => a ^ b ^ i)
    // let target = nums[0]
    // for (let i = 1; i < nums.length; i++) target ^= i ^ nums[i]
    // return target
}
// 测试用例
debugger
const nums = [1, 3, 2, 7, 4, 5, 6, 9, 8, 7]
const NUM = findRepeated(nums)
console.log(NUM)